Previous Book Contents Book Index Next

Inside Macintosh: 3D Graphics Programming With QuickDraw 3D /
Chapter 2 - 3D Viewer


Summary of the 3D Viewer

C Summary

Constants

Gestalt Selector and Response Values

enum {
   gestaltQuickDraw3DViewer         = 'q3vc',
   gestaltQ3ViewerNotAvailable      = 0,
   gestaltQ3ViewerAvailable         = 1
}

Viewer Flags

enum {
   kQ3ViewerShowBadge         = 1<<0,
   kQ3ViewerActive            = 1<<1,
   kQ3ViewerControllerVisible = 1<<2,
   kQ3ViewerDrawFrame         = 1<<3,
   kQ3ViewerDraggingOff       = 1<<4,
   kQ3ViewerButtonCamera      = 1<<5,
   kQ3ViewerButtonTruck       = 1<<6,
   kQ3ViewerButtonOrbit       = 1<<7,
   kQ3ViewerButtonZoom        = 1<<8,
   kQ3ViewerButtonDolly       = 1<<9,
   kQ3ViewerDefault           = 
                              (kQ3ViewerActive | 
                               kQ3ViewerControllerVisible | 
                               kQ3ViewerButtonCamera | 
                               kQ3ViewerButtonTruck | 
                               kQ3ViewerButtonOrbit)
};

Viewer State Flags

enum {
   kQ3ViewerEmpty             = 0,
   kQ3ViewerHasModel          = 1
};

Data Types

typedef void                              *TQ3ViewerObject;

3D Viewer Routines

Creating and Configuring Viewers

TQ3ViewerObject Q3ViewerNew(CGrafPtr port, 
Rect *rect, 
unsigned long flags);
OSErr Q3ViewerDispose(TQ3ViewerObject theViewer);
OSErr Q3ViewerUseFile(TQ3ViewerObject theViewer, long refNum);
OSErr Q3ViewerUseData(TQ3ViewerObject theViewer, 
void *data, 
long size);
OSErr Q3ViewerDraw(TQ3ViewerObject theViewer);
TQ3ViewObject Q3ViewerGetView(TQ3ViewerObject theViewer);
OSErr Q3ViewerRestoreView(TQ3ViewerObject theViewer);
unsigned long Q3ViewerGetFlags(TQ3ViewerObject theViewer);
OSErr Q3ViewerSetFlags(TQ3ViewerObject theViewer, 
unsigned long flags);
OSErr Q3ViewerGetBounds(TQ3ViewerObject theViewer, Rect *bounds);
OSErr Q3ViewerSetBounds(TQ3ViewerObject theViewer, Rect *bounds);
CGrafPtr Q3ViewerGetPort(TQ3ViewerObject theViewer);
OSErr Q3ViewerSetPort(TQ3ViewerObject theViewer, CGrafPtr port);
TQ3GroupObject Q3ViewerGetGroup (
TQ3ViewerObject theViewer);
OSErr Q3ViewerUseGroup(TQ3ViewerObject theViewer, 
TQ3GroupObject group);
OSErr Q3ViewerGetBackgroundColor (
TQ3ViewerObject theViewer, 
TQ3ColorARGB *color);
OSErr Q3ViewerSetBackgroundColor (
TQ3ViewerObject theViewer, 
TQ3ColorARGB *color);

Updating Viewer Data

OSErr Q3ViewerWriteFile(TQ3ViewerObject theViewer, long refNum);
unsigned long Q3ViewerWriteData (
TQ3ViewerObject theViewer, void **data);

Handling Viewer Events

Boolean Q3ViewerEvent(TQ3ViewerObject theViewer, EventRecord *evt);
Boolean Q3ViewerAdjustCursor(TQ3ViewerObject theViewer, Point *pt);

Getting Viewer Information

unsigned long Q3ViewerGetState(TQ3ViewerObject theViewer);
PicHandle Q3ViewerGetPict(TQ3ViewerObject theViewer);
OSErr Q3ViewerGetButtonRect(TQ3ViewerObject theViewer, 
unsigned long button, 
Rect *rect);
unsigned long Q3ViewerGetCurrentButton (
TQ3ViewerObject theViewer);
OSErr Q3ViewerSetCurrentButton(TQ3ViewerObject theViewer, 
unsigned long button);
OSErr Q3ViewerGetDimension(TQ3ViewerObject theViewer, 
unsigned long *width, 
unsigned long *height);

Handling Edit Commands

OSErr Q3ViewerCut(TQ3ViewerObject theViewer);
OSErr Q3ViewerCopy(TQ3ViewerObject theViewer);
OSErr Q3ViewerPaste(TQ3ViewerObject theViewer);
OSErr Q3ViewerClear(TQ3ViewerObject theViewer);


Previous Book Contents Book Index Next

© Apple Computer, Inc.
11 JUL 1996